package edu.service;

import edu.vo.Permission;

import java.util.List;
import java.util.Optional;

public interface PermissionService {
    /**
     * 保存权限信息
     * @param permission 权限对象
     * @return 保存后的权限对象
     */
    Permission savePermission(Permission permission);

    /**
     * 根据ID获取权限信息
     * @param id 权限ID
     * @return 权限对象的Optional包装
     */
    Optional<Permission> getPermissionById(Integer id);

    /**
     * 获取所有权限信息
     * @return 权限列表
     */
    List<Permission> getAllPermissions();

    /**
     * 根据ID删除权限信息
     * @param id 权限ID
     */
    void deletePermissionById(Integer id);

    /**
     * 更新权限信息
     * @param id 权限ID
     * @param permission 新的权限信息
     * @return 更新后的权限对象
     */
    Permission updatePermission(Integer id, Permission permission);
}